import java.util.Stack;

/**
 * \* Created with IntelliJ IDEA.
 * \* User: 冯若航
 * \* Date: 2021/5/3
 * \* Time: 18:49
 * \* To change this template use File | Settings | File Templates.
 * \* Description:
 * \
 */
public class 包含min的栈 {
    Stack<Integer> A,B;
    public 包含min的栈(){
        A=new Stack<>();
        B=new Stack<>();
    }

    public void push(int x){
        A.add(x);
        if(B.empty()||B.peek()>=x){
            B.add(x);
        }
    }

    /**
     * Java 代码中，由于 Stack 中存储的是 int 的包装类 Integer ，因此需要使用 equals() 代替 == 来比较值是否相等。
     */
    public void pop(){
        if(A.pop().equals(B.peek())){
            B.pop();
        }
    }

    public int top(){
        return A.peek();
    }

    public int min(){
        return B.peek();
    }
}